change demo install dir to datadir/gtk+-2.0/demo
authorHavoc Pennington <hp@pobox.com>
Mon, 13 Nov 2000 06:08:17 +0000 (06:08 +0000)
committerHavoc Pennington <hp@src.gnome.org>
Mon, 13 Nov 2000 06:08:17 +0000 (06:08 +0000)
2000-11-12  Havoc Pennington  <hp@pobox.com>

* demos/gtk-demo/Makefile.am (democodedir): change demo install
dir to datadir/gtk+-2.0/demo

* demos/gtk-demo/textview.c: Text widget demo; reveals all
sorts of text widget and Pango font bugs. Urgh.

* demos/gtk-demo/Makefile.am (demos): Add textview.c

* demos/gtk-demo/main.c (create_tree): Add instructions at top of
tree that you should double click to see the demo. Fix
types of variables to reflect changed return values from
GtkTreeStore and GtkTreeViewColumn constructors.

* gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
newly-created buffer to prepare for GObject semantics

* gtk/testtext.c: don't leak the buffer with GObject semantics

* gtk/testtextbuffer.c: ditto

16 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
demos/gtk-demo/Makefile.am
demos/gtk-demo/main.c
gtk/gtktextbuffer.c
gtk/gtktextbuffer.h
gtk/gtktextview.c
gtk/testtext.c
gtk/testtextbuffer.c
tests/testtext.c
tests/testtextbuffer.c

index cd39ad807e6f66e3ba7fdc3a50ce90d342870cf4..e98cf5ebf313271236ba6fda4697cca49d77c834 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2000-11-12  Havoc Pennington  <hp@pobox.com>
+
+       * demos/gtk-demo/Makefile.am (democodedir): change demo install
+       dir to datadir/gtk+-2.0/demo
+
+       * demos/gtk-demo/textview.c: Text widget demo; reveals all 
+       sorts of text widget and Pango font bugs. Urgh.
+
+       * demos/gtk-demo/Makefile.am (demos): Add textview.c
+
+       * demos/gtk-demo/main.c (create_tree): Add instructions at top of
+       tree that you should double click to see the demo. Fix 
+       types of variables to reflect changed return values from 
+       GtkTreeStore and GtkTreeViewColumn constructors.
+
+       * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
+       newly-created buffer to prepare for GObject semantics
+
+       * gtk/testtext.c: don't leak the buffer with GObject semantics
+
+       * gtk/testtextbuffer.c: ditto
+       
 2000-11-12  Havoc Pennington  <hp@pobox.com>
 
         Rename this testgtk to gtk-demo to avoid confusion, and 
index cd39ad807e6f66e3ba7fdc3a50ce90d342870cf4..e98cf5ebf313271236ba6fda4697cca49d77c834 100644 (file)
@@ -1,3 +1,25 @@
+2000-11-12  Havoc Pennington  <hp@pobox.com>
+
+       * demos/gtk-demo/Makefile.am (democodedir): change demo install
+       dir to datadir/gtk+-2.0/demo
+
+       * demos/gtk-demo/textview.c: Text widget demo; reveals all 
+       sorts of text widget and Pango font bugs. Urgh.
+
+       * demos/gtk-demo/Makefile.am (demos): Add textview.c
+
+       * demos/gtk-demo/main.c (create_tree): Add instructions at top of
+       tree that you should double click to see the demo. Fix 
+       types of variables to reflect changed return values from 
+       GtkTreeStore and GtkTreeViewColumn constructors.
+
+       * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
+       newly-created buffer to prepare for GObject semantics
+
+       * gtk/testtext.c: don't leak the buffer with GObject semantics
+
+       * gtk/testtextbuffer.c: ditto
+       
 2000-11-12  Havoc Pennington  <hp@pobox.com>
 
         Rename this testgtk to gtk-demo to avoid confusion, and 
index cd39ad807e6f66e3ba7fdc3a50ce90d342870cf4..e98cf5ebf313271236ba6fda4697cca49d77c834 100644 (file)
@@ -1,3 +1,25 @@
+2000-11-12  Havoc Pennington  <hp@pobox.com>
+
+       * demos/gtk-demo/Makefile.am (democodedir): change demo install
+       dir to datadir/gtk+-2.0/demo
+
+       * demos/gtk-demo/textview.c: Text widget demo; reveals all 
+       sorts of text widget and Pango font bugs. Urgh.
+
+       * demos/gtk-demo/Makefile.am (demos): Add textview.c
+
+       * demos/gtk-demo/main.c (create_tree): Add instructions at top of
+       tree that you should double click to see the demo. Fix 
+       types of variables to reflect changed return values from 
+       GtkTreeStore and GtkTreeViewColumn constructors.
+
+       * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
+       newly-created buffer to prepare for GObject semantics
+
+       * gtk/testtext.c: don't leak the buffer with GObject semantics
+
+       * gtk/testtextbuffer.c: ditto
+       
 2000-11-12  Havoc Pennington  <hp@pobox.com>
 
         Rename this testgtk to gtk-demo to avoid confusion, and 
index cd39ad807e6f66e3ba7fdc3a50ce90d342870cf4..e98cf5ebf313271236ba6fda4697cca49d77c834 100644 (file)
@@ -1,3 +1,25 @@
+2000-11-12  Havoc Pennington  <hp@pobox.com>
+
+       * demos/gtk-demo/Makefile.am (democodedir): change demo install
+       dir to datadir/gtk+-2.0/demo
+
+       * demos/gtk-demo/textview.c: Text widget demo; reveals all 
+       sorts of text widget and Pango font bugs. Urgh.
+
+       * demos/gtk-demo/Makefile.am (demos): Add textview.c
+
+       * demos/gtk-demo/main.c (create_tree): Add instructions at top of
+       tree that you should double click to see the demo. Fix 
+       types of variables to reflect changed return values from 
+       GtkTreeStore and GtkTreeViewColumn constructors.
+
+       * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
+       newly-created buffer to prepare for GObject semantics
+
+       * gtk/testtext.c: don't leak the buffer with GObject semantics
+
+       * gtk/testtextbuffer.c: ditto
+       
 2000-11-12  Havoc Pennington  <hp@pobox.com>
 
         Rename this testgtk to gtk-demo to avoid confusion, and 
index cd39ad807e6f66e3ba7fdc3a50ce90d342870cf4..e98cf5ebf313271236ba6fda4697cca49d77c834 100644 (file)
@@ -1,3 +1,25 @@
+2000-11-12  Havoc Pennington  <hp@pobox.com>
+
+       * demos/gtk-demo/Makefile.am (democodedir): change demo install
+       dir to datadir/gtk+-2.0/demo
+
+       * demos/gtk-demo/textview.c: Text widget demo; reveals all 
+       sorts of text widget and Pango font bugs. Urgh.
+
+       * demos/gtk-demo/Makefile.am (demos): Add textview.c
+
+       * demos/gtk-demo/main.c (create_tree): Add instructions at top of
+       tree that you should double click to see the demo. Fix 
+       types of variables to reflect changed return values from 
+       GtkTreeStore and GtkTreeViewColumn constructors.
+
+       * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
+       newly-created buffer to prepare for GObject semantics
+
+       * gtk/testtext.c: don't leak the buffer with GObject semantics
+
+       * gtk/testtextbuffer.c: ditto
+       
 2000-11-12  Havoc Pennington  <hp@pobox.com>
 
         Rename this testgtk to gtk-demo to avoid confusion, and 
index cd39ad807e6f66e3ba7fdc3a50ce90d342870cf4..e98cf5ebf313271236ba6fda4697cca49d77c834 100644 (file)
@@ -1,3 +1,25 @@
+2000-11-12  Havoc Pennington  <hp@pobox.com>
+
+       * demos/gtk-demo/Makefile.am (democodedir): change demo install
+       dir to datadir/gtk+-2.0/demo
+
+       * demos/gtk-demo/textview.c: Text widget demo; reveals all 
+       sorts of text widget and Pango font bugs. Urgh.
+
+       * demos/gtk-demo/Makefile.am (demos): Add textview.c
+
+       * demos/gtk-demo/main.c (create_tree): Add instructions at top of
+       tree that you should double click to see the demo. Fix 
+       types of variables to reflect changed return values from 
+       GtkTreeStore and GtkTreeViewColumn constructors.
+
+       * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
+       newly-created buffer to prepare for GObject semantics
+
+       * gtk/testtext.c: don't leak the buffer with GObject semantics
+
+       * gtk/testtextbuffer.c: ditto
+       
 2000-11-12  Havoc Pennington  <hp@pobox.com>
 
         Rename this testgtk to gtk-demo to avoid confusion, and 
index cd39ad807e6f66e3ba7fdc3a50ce90d342870cf4..e98cf5ebf313271236ba6fda4697cca49d77c834 100644 (file)
@@ -1,3 +1,25 @@
+2000-11-12  Havoc Pennington  <hp@pobox.com>
+
+       * demos/gtk-demo/Makefile.am (democodedir): change demo install
+       dir to datadir/gtk+-2.0/demo
+
+       * demos/gtk-demo/textview.c: Text widget demo; reveals all 
+       sorts of text widget and Pango font bugs. Urgh.
+
+       * demos/gtk-demo/Makefile.am (demos): Add textview.c
+
+       * demos/gtk-demo/main.c (create_tree): Add instructions at top of
+       tree that you should double click to see the demo. Fix 
+       types of variables to reflect changed return values from 
+       GtkTreeStore and GtkTreeViewColumn constructors.
+
+       * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
+       newly-created buffer to prepare for GObject semantics
+
+       * gtk/testtext.c: don't leak the buffer with GObject semantics
+
+       * gtk/testtextbuffer.c: ditto
+       
 2000-11-12  Havoc Pennington  <hp@pobox.com>
 
         Rename this testgtk to gtk-demo to avoid confusion, and 
index f67baa99efe1f3a54701e8213bdd0c8c178c2630..d3548fb5a78ff6ec23a790282c2c9dc79d810bf1 100644 (file)
@@ -1,12 +1,13 @@
 ## Makefile.am for gtk+/demos
 
-democodedir=$(datadir)/gtk-demo
+democodedir=$(datadir)/gtk-2.0/demo
 
 demos = @STRIP_BEGIN@  \
        button_box.c    \
        item_factory.c  \
        menus.c         \
        panes.c         \
+       textview.c      \
 @STRIP_END@
 
 INCLUDES = @STRIP_BEGIN@ \
index 417dbf66c40002176c3121d09b1501c1ae0a460d..227b2bfa7f65f81a8f95ea0bed69e371e6c336d1 100644 (file)
@@ -307,8 +307,8 @@ create_tree (void)
   GtkTreeSelection *selection;
   GtkCellRenderer *cell;
   GtkWidget *tree_view;
-  GtkObject *column;
-  GtkObject *model;
+  GtkTreeViewColumn *column;
+  GtkTreeStore *model;
   GtkTreeIter iter;
   gint i;
 
@@ -334,7 +334,7 @@ create_tree (void)
     }
 
   cell = gtk_cell_renderer_text_new ();
-  column = gtk_tree_view_column_new_with_attributes ("Widget",
+  column = gtk_tree_view_column_new_with_attributes ("Widget (double click for demo)",
                                                     cell,
                                                     "text", TITLE_COLUMN,
                                                     "italic", ITALIC_COLUMN,
index ac62712c3589ada3adf1131324ce64ea504dd7c2..e5444c27886d68289c06ed1334c1e2c511c9e7c8 100644 (file)
@@ -262,6 +262,9 @@ gtk_text_buffer_new (GtkTextTagTable *table)
       gtk_object_sink (GTK_OBJECT (text_buffer->tag_table));
     }
 
+  gtk_object_ref (GTK_OBJECT (text_buffer));
+  gtk_object_sink (GTK_OBJECT (text_buffer));
+  
   return text_buffer;
 }
 
index f8c00a6710928d109261379a53ff0491fa6d4355..b2e639188357e9674893542123f814614fd1e6be 100644 (file)
@@ -252,6 +252,7 @@ void gtk_text_buffer_remove_tag_by_name    (GtkTextBuffer     *buffer,
 /* You can either ignore the return value, or use it to
  * set the attributes of the tag. tag_name can be NULL
  */
+/* FIXME this should take a varargs list of tag attributes I think */
 GtkTextTag    *gtk_text_buffer_create_tag (GtkTextBuffer *buffer,
                                            const gchar   *tag_name);
 
index 707cc98cd4cfc28c223c7d63256929bbb3d43383..e022a5d0ea89d8586b3a5b8d456fced5fe7dbf9f 100644 (file)
@@ -2443,7 +2443,7 @@ gtk_text_view_draw (GtkWidget *widget, GdkRectangle *area)
   text_view = GTK_TEXT_VIEW (widget);
 
   gtk_text_view_paint (widget, area);
-
+  
   /* If the area overlaps the "edge" of the widget, draw the focus
    * rectangle
    */
@@ -2452,7 +2452,7 @@ gtk_text_view_draw (GtkWidget *widget, GdkRectangle *area)
       (area->x + area->width) > (widget->allocation.width - FOCUS_EDGE_WIDTH) ||
       (area->y + area->height) > (widget->allocation.height - FOCUS_EDGE_WIDTH))
     gtk_widget_draw_focus (widget);
-
+  
   /* Synthesize expose events for the user-drawn border windows,
    * just as we would for a drawing area.
    */
@@ -2480,14 +2480,14 @@ gtk_text_view_draw (GtkWidget *widget, GdkRectangle *area)
 
 static gint
 gtk_text_view_expose_event (GtkWidget *widget, GdkEventExpose *event)
-{
+{  
   if (event->window == gtk_text_view_get_window (GTK_TEXT_VIEW (widget),
                                                  GTK_TEXT_WINDOW_TEXT))
     gtk_text_view_paint (widget, &event->area);
 
   if (event->window == widget->window)
     gtk_widget_draw_focus (widget);
-
+  
   return TRUE;
 }
 
index 279535aecdf8b1323cc0a5a79b836a6f03af8543..1f9be694b3883cd4da8a1f8ace3b45509dc51129 100644 (file)
@@ -1023,9 +1023,10 @@ do_search (gpointer callback_data,
 
   buffer = gtk_text_buffer_new (NULL);
 
-  /* FIXME memory leak once buffer is a GObject */
   search_text = gtk_text_view_new_with_buffer (buffer);
 
+  g_object_unref (G_OBJECT (buffer));
+  
   gtk_box_pack_end (GTK_BOX (GTK_DIALOG (dialog)->vbox),
                     search_text,
                     TRUE, TRUE, 0);
@@ -1276,8 +1277,6 @@ create_buffer (void)
   buffer = g_new (Buffer, 1);
 
   buffer->buffer = gtk_text_buffer_new (NULL);
-  gtk_object_ref (GTK_OBJECT (buffer->buffer));
-  gtk_object_sink (GTK_OBJECT (buffer->buffer));
   
   buffer->refcount = 1;
   buffer->filename = NULL;
index 437be8832f9c69c727088e786daf52be666818d9..18df1a2f1bce55d3f27adda0205c54beba0d8119 100644 (file)
@@ -66,6 +66,8 @@ main (int argc, char** argv)
 
   run_tests (buffer);
 
+  g_object_unref (G_OBJECT (buffer));
+  
   g_print ("All tests passed.\n");
 
   return 0;
index 279535aecdf8b1323cc0a5a79b836a6f03af8543..1f9be694b3883cd4da8a1f8ace3b45509dc51129 100644 (file)
@@ -1023,9 +1023,10 @@ do_search (gpointer callback_data,
 
   buffer = gtk_text_buffer_new (NULL);
 
-  /* FIXME memory leak once buffer is a GObject */
   search_text = gtk_text_view_new_with_buffer (buffer);
 
+  g_object_unref (G_OBJECT (buffer));
+  
   gtk_box_pack_end (GTK_BOX (GTK_DIALOG (dialog)->vbox),
                     search_text,
                     TRUE, TRUE, 0);
@@ -1276,8 +1277,6 @@ create_buffer (void)
   buffer = g_new (Buffer, 1);
 
   buffer->buffer = gtk_text_buffer_new (NULL);
-  gtk_object_ref (GTK_OBJECT (buffer->buffer));
-  gtk_object_sink (GTK_OBJECT (buffer->buffer));
   
   buffer->refcount = 1;
   buffer->filename = NULL;
index 437be8832f9c69c727088e786daf52be666818d9..18df1a2f1bce55d3f27adda0205c54beba0d8119 100644 (file)
@@ -66,6 +66,8 @@ main (int argc, char** argv)
 
   run_tests (buffer);
 
+  g_object_unref (G_OBJECT (buffer));
+  
   g_print ("All tests passed.\n");
 
   return 0;